Knockout

Knockout.js

  Knockout是一款很优秀的JavaScript库

KO重要特性:

优雅的依赖跟踪
声明式绑定
良好的可扩展性

其他优点:

纯JavaScript库
可以很好的应用到已有的应用程序中
简洁-采用Gzip压缩之后只要13K。
兼容任何主流浏览器-(IE 6+, Firefox 2+, Chrome, Safari, 及其他)
一套全面完整的规范(采用行为驱动开发)

Knockout是建立在以下3个核心功能之上的

1、 属性监控与依赖跟踪
2、 声明式绑定
3、 模版机制

Model-View-View Model (MVVM)是一种创建用户界面的设计模式

####一般的数据绑定有三种:One-Time,One-Way,Two-way。

Visible绑定通过绑定一个值来确定DOM元素显示或隐藏
Text绑定主要是让DOM元素显示参数值。
html绑定到DOM元素上,使得该元素显示的HTML值为你绑定的参数。
css绑定是添加或删除一个或多个CSS class到DOM元素上。
style绑定是添加或删除一个或多个DOM元素上的style值。
attr属性绑定,这个绑定可以用于给DOM元素添加自定义属性,或绑定到已有的属性。
foreach绑定使用此功能可以方便我们循环遍历输出某个数组、集合中的内容。
if绑定 可以控制某个组件动态显示,类似我们之前接触到的visible属性,不过此属性绑定过以后就不能更改,而if binding可以根据相应的条件控制组件是否显示。
with绑定我们可以使用with binding来重新定义一个上下文绑定
click绑定在DOM元素上添加事件句柄以便元素被点击的时候执行定义的JavaScript 函数。大部分是用在button,input和连接a上,但是可以在任意元素上使用。
event绑定在DOM元素上添加指定的事件句柄以便元素被触发的时候执行定义的JavaScript 函数。大部分情况下是用在keypress,mouseover和mouseout上。
submit绑定在form表单上添加指定的事件句柄以便该form被提交的时候执行定义的JavaScript 函数。只能用在表单form元素上。
value绑定是关联DOM元素的值到view model的属性上。主要是用在表单控件


学习资料推荐:

knockout官网: http://knockoutjs.com/
knockout中文: http://www.aizhengli.com/knockoutjs/knockoutjs.html
knockout表单相关的技术博客: http://www.cnblogs.com/lori/p/3610779.html
在线编辑地址:http://jsfiddle.net/rniemeyer/LkqTU/
(部分网站需要FQ)